auto merge of #367 : alexcrichton/cargo/git2-rs, r=wycats
authorbors <bors@rust-lang.org>
Sat, 16 Aug 2014 23:18:45 +0000 (23:18 +0000)
committerbors <bors@rust-lang.org>
Sat, 16 Aug 2014 23:18:45 +0000 (23:18 +0000)
commit8a28cb3e39ee43cf3de1e6bdfe24cddddbce2a77
treeefddbcc2e76a1a9fa8e895ec6fd3ca6c4714d2ca
parent3db8a3b1dfb8a898862814a40a5dd0d36fce3feb
parente090e2ad78ad4f59842bacd3d06320ab17030e00
auto merge of #367 : alexcrichton/cargo/git2-rs, r=wycats

In general relying on external programs is dicey and tricky as they're very
different across systems in both how they're used as well as what versions
you'll find. Instead of binding to the least common denominator of CLI, we can
code against an exact version of libgit2.

This introduces a build-time dependency on cmake which libgit2 requires to build
itself, which is unfortunate, but thankfully it's only a build time dep. The
build process for libgit2 also automatically detects as many system libraries as
possible to use (if available), falling back to bundled versions if not
available. I have currently not figured how to control this, so the link-config
package is used to build libgit2 which requires that pkg-config be installed to
build cargo as well.

Closes #138